Selective Bisection Debugging
نویسندگان
چکیده
Bisection debugging, which is based on binary search over software version history, is widely used in practice to identify the bug introducing commit. However, this process can be expensive because it requires costly compilation and test execution at many commits. We introduce a novel technique—selective bisection (consisting of test selection and commit selection)—to reduce the number of bisection steps, the number of compiler invocations, and the number of executed tests. We evaluated selective bisection on 10 popular open-source projects by performing 25,690 debugging sessions and measuring: (1) savings in number of compiler invocations obtained by commit selection, (2) savings in number of executed tests obtained by test selection, and (3) savings in overall debugging time by selective bisection. Our results show that, in 65% of debugging sessions, commit selection saves between 14% and 71% compiler invocations. Test selection saves 74% of testing effort on average (ranging from 42% to 95%) compared to when developers do not use any test selection. Finally, we demonstrate that one can save substantial time using selective bisection for large projects.
منابع مشابه
Bisection Debugging
This paper introduces the bisection debugging model. The key idea is to use a debugger to identify the semantic differences between two versions of the same program. The debugger leads the user (programmer) to the region of the source code that is different between the versions and effects erroneous behavior. To implement bisection debugging, a debugger must insert checkpoints around regions of...
متن کاملDARD: A Practical Distributed Adaptive Routing Architecture for Datacenter Networks
Datacenter networks typically have multiple paths connecting each host pair to achieve higher bisection bandwidth. However, existing transport and routing protocols have little support for multipath in the scale of a datacenter. We advocate to design practical datacenter architectures for easy operation, i.e., an architecture should be reliable, capable of improving bisection bandwidth, scalabl...
متن کاملMARKOVIAN SOFTWARE RELIABILITY MODEL FOR TWO TYPES OF FAILURES WITH IMPERFECT DEBUGGING RATE AND GENERATION OF ERRORS
N
متن کاملArchitecture of an Extensible Parallel Debugger
The LERP debugger is a design for an ex-tensible debugging tool for a large array processor. It is extensible in addressing debugging in terms of program-mer's abstractions and paradigms. It includes tools to aid the user to be selective in debugging large numbers of processes .
متن کاملLine Bisection Test Software to Evaluate the Visual-spatial Functions in Schizophrenic Patients
Introduction: One way to evaluate visual-spatial functions is to use line bisection test. With the advancement of information technology, this study attempted to design a line bisection test software and investigate its efficacy compared to the conventional paper-pencil form in schizophrenic patients. Method: The present study was a causal-comparative one and line bisection test software was de...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017